package config // 导入包名，用于描述此代码属于config包

// TypeCommonConfig 是一个基本配置接口定义。
type TypeCommonConfig interface { // 定义了一个名为TypeCommonConfig的接口类型。这个接口由单个方法GetType()实现。
	GetType() string // 获取模块类型的函数，返回字符串类型数据。
}

// CommonConfig 是一种基础配置结构体的定义。
type CommonConfig struct {
	Type     string `json:"type"`                     // JSON序列化时使用的字段名称为"type"的数据类型是字符串。
	Disabled bool   `json:"disabled" yaml:"disabled"` // YAML和JSON序列化时使用的字段名称，表示模块是否禁用。如果设置为true，则输入/输出/过滤器将被禁用。
}

// 获取配置模块的类型
func (t CommonConfig) GetType() string {
	return t.Type // 返回当前CommonConfig实例中的Type属性值，即模块类型的字符串描述。
}

// ConfigRaw 是一种通用配置结构体定义。它使用map来存储任意数量的键值对，并且支持JSON和YAML序列化过程中的字段名称映射到实际的数据类型。
type ConfigRaw map[string]any
